package xkp.lesson3;

//Outer为外部类
public class Outer {
	//age是成员变量
	private int age;
	private int num;
	
	public void outterFun() {
		//在外部类中如果想访问内部类的资源，则必须要先有内部类的对象
		new Inner().num = 222;
		final int count = 10;
		//局部内部类
		 class Inner3{
			public void fun3() {
				age = 100;
				//在局部内部类中智能访问final修饰的变量(常量)
				System.out.println(count);
			}
		}
	}
	
	//Inner为成员内部类
	//分析Inner位置
	public class Inner{
		private int num;
		public void fun() {
			//如果外部类与内部类资源重名，可以沟通过以下形式访问
			Outer.this.num = 200;
			//内部类可以访问外部类的一切资源
			age = 200;
			outterFun();
		}
	}
	
	{
		//我是构造代码块
		//Inner2是局部内部类
		class Inner2{
			
		}
	}
}
